Detecting Presence Using a Presence Sensor Network

ABSTRACT

Concepts and technologies are disclosed herein for detecting presence using a presence sensor network. In some embodiments, a computer executing a presence service generates a user interface for display at a user device. The user interface can include a control that, when selected, generates room data defining a monitored location. The computer can obtain sensor identifier data that identifies a presence sensor located at the monitored location and a location of the presence sensor at the monitored location. The computer can provide the user interface to the user device to obtain the room data and obtain the room data. The computer also can store the room data and the sensor identifier data.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims priority to U.S. patentapplication Ser. No. 13/908,664 filed on Jun. 3, 2013, entitled“Detecting Presence Using a Presence Sensor Network,” now allowed, whichis incorporated herein by reference in its entirety.

BACKGROUND

This application relates generally to detecting and using presenceinformation. More specifically, the disclosure provided herein relatesto detecting presence using a presence sensor network and using thepresence to provide a presence service.

Presence sensors are used for a variety of purposes. For example, somerudimentary types of presence sensors are used in manufacturing toprevent bodily injury by machine operators; automatic doors to triggeropening and/or closing of the doors; garage door openers to reverse thegarage door if a child, animal, or other object is detected in the pathof the garage door; vehicles to provide object sensors around aperiphery or elsewhere in the vicinity of the vehicles; or the like.With the proliferation of intelligent devices and automation of variousoperations that until recently were completed manually, the use ofpresence technologies has become valuable for power conservationefforts, user authentication, personal safety, and/or other purposes.

Presence sensors can operate using a variety of technologies such as,for example, optical technologies, infrared technologies,temperature-based technologies, switches and/or other hardwaretechnologies such as pressure devices, sound detection technologies,sonar technologies, combinations thereof, or the like. Some presencesensors are expensive and therefore may be used sparingly and/ordeployed only in carefully selected locations and/or devices.

To provide benefits of presence sensors in large areas or otherlocations where deploying presence sensors may be cost-prohibitive,cameras and/or other video technologies may be relied upon. Thus, forexample, a store manager, owner, or other entity may view a video feedof a store or other location to determine if any action needs to betaken. For example, a manager may monitor video to watch an area arounda cash register or other point-of-sale to determine if additionalpoints-of-sale should be opened, to monitor performance, or the like.Video, however, requires attention and/or interpretation to becomeuseful and therefore may provide little, if any, improvement overin-person monitoring. Additionally, some customers may be opposed tobeing videoed by storeowners or other entities.

SUMMARY

The present disclosure is directed to detecting presence using apresence sensor network. According to various embodiments of theconcepts and technologies described herein, a monitored location can bedetermined and/or selected. A number of presence sensors can be locatedat the monitored location. As will be explained in more detail below,RFID tags can provide an inexpensive and effective presence sensor.According to some embodiments, data describing the monitored locationcan be configured and saved via interactions with a presence service orother presence application or module. The data can be saved in a memory,drive, database, or other data storage device. In some embodiments, thedata includes room data describing the room, location, region, area, orother aspect of the monitored location; sensor ID data describinglocations (within the monitored location) and identities of presencesensors located at the monitored location; trigger data defining alerts,alarms, or other notification conditions that, when determined to existat that monitored location, trigger an alarm, alert, or othernotification; other information such as trend information, historicalinformation; or the like.

A presence service, other devices, or other modules can obtain presencedata associated with the monitored location. The presence data can beprovided by a computing system located at the monitored location. Thepresence data can be received by the presence service and used todetermine presence at the monitored location. In some embodiments, thepresence service compares the presence data to room data, sensor IDdata, trigger data, other data, or the like, and determines the presenceat the monitored location based upon this information. The presenceservice can generate presence display data that visually represents thedetermined presence, and also can trigger and/or generate alarms oralerts if determined to be appropriate based upon the determinedpresence. The presence display data can be provided to a user device,which can render one or more user interfaces for a user such as, forexample, a manager, or the like. In some embodiments, a user deviceobtains and uses the presence data and generates the presence displaydata. Thus, the presence service can be omitted in some embodiments, ormay not be accessed in some instances.

According to one aspect of the concepts and technologies disclosedherein, a method is disclosed. The method can include providing a userinterface to a user device to obtain room data. The user interface canbe displayed at the user device and can include a user interface controlfor inputting room data that defines a monitored location. The methodalso can include obtaining sensor identifier data that identifies apresence sensor at the monitored location. The sensor identifier datacan include a unique identifier associated with the presence sensor dataand data defining a location of a presence sensor at the monitoredlocation. The method also can include the computer storing the room datadefining the monitored location and the sensor identifier data.

In some embodiments, the method includes obtaining trigger data thatdefines an alarm condition. The alarm condition can trigger an alarm ifthe alarm condition is determined to exist at the monitored location.The method also can include obtaining presence data associated with themonitored location, the presence data including a unique identifier, andgenerating presence display data based upon the presence data, the roomdata, and the sensor identifier data. The presence data can be obtainedvia a receiver located at the monitored location, and the receiver canobtain the unique identifier from a radio frequency identification taglocated at the monitored location.

In some embodiments, generating the presence display data can includeanalyzing the presence data, comparing the unique identifier to a listof identifiers included in the sensor identifier data, and determiningthat a person is located at a further presence sensor at the monitoredlocation if a further unique identifier associated with the furtherpresence sensor is not included in the presence data. The method alsocan include providing the presence display data to the user device, thepresence display data including a web page. The method also can include,in some embodiments, sending an alert to the user device. The alert caninclude an indication that an alarm condition exists at the monitoredlocation, and can be pushed to the user device, which can include asmartphone. The method also can include obtaining, from the user device,trigger data defining alarm conditions, and preferences defining howalerts are to be delivered to the user device. In some embodiments, themethod also includes generating, at the computer, historical datadefining presence at the monitored location, and trend data defining atrend associated with the presence at the monitored location. Thepresence sensor can include a radio frequency identification tag.

According to another aspect of the concepts and technologies disclosedherein, a system is disclosed. The system can include a processor and amemory. The memory can store computer-executable instructions that, whenexecuted by the processor, cause the processor to perform operationsincluding providing a user interface to a user device to obtain roomdata. The user interface can be displayed at the user device and caninclude a user interface control for inputting room data that defines amonitored location. The system also can obtain sensor identifier datathat identifies a presence sensor at the monitored location. The sensoridentifier data can include a unique identifier associated with thepresence sensor data and data defining a location of a presence sensorat the monitored location. The system also can store the room datadefining the monitored location and the sensor identifier data.

In some embodiments, the system can include a data store incommunication with the server computer and a transceiver incommunication with the presence sensor. In some embodiments, storing theroom data and the sensor data can include storing the room data and thesensor data at the data store, and the presence data can be obtained bythe transceiver, the transceiver comprising a radio frequency emitterand receiver. The presence sensor can include a radio frequencyidentification tag. In some implementations, presence sensor includes afloor tile that includes a substrate, a recess formed in the substrate,and a radio frequency identification tag disposed at the recess. In someembodiments, the recess is omitted from the floor tile.

In some embodiments, the system includes instructions that, whenexecuted by the processor, cause the processor to perform operationsfurther including obtaining trigger data defining an alarm conditionthat, if determined to exist at the monitored location, triggers analarm, determining that the alarm condition exists, and sending an alertto the user device. The user device can include a smart phone, andsending the alert can include pushing the alert to the smart phone via acellular network.

According to yet another aspect, a computer storage medium is disclosed.The computer storage medium can have computer-executable instructionsstored thereon that, when executed by a processor, cause the processorto perform operations including providing a user interface to a userdevice to obtain room data. The user interface can be displayed at theuser device and can include a user interface control for inputting roomdata that defines a monitored location. The storage medium also caninclude instructions that, when executed by the processor, cause theprocessor to obtain sensor identifier data that identifies a presencesensor at the monitored location. The sensor identifier data can includea unique identifier associated with the presence sensor data and datadefining a location of a presence sensor at the monitored location. Theinstructions, when executed by the processor, can cause the processor toperform operations further comprising storing, by the computer, the roomdata defining the monitored location and the sensor identifier data.

In some embodiments, the instructions, when executed by the processor,cause the processor to perform operations further including obtainingpresence data associated with the monitored location, the presence dataincluding a unique identifier generated by a radio frequencyidentification tag, and generating presence display data based upon thepresence data, the room data, and the sensor identifier data. In someembodiments, the instructions, when executed by the processor, cause theprocessor to perform operations further including obtaining data thatdefines an alarm condition, wherein the alarm condition triggers analarm if the alarm condition is determined to exist at the monitoredlocation, analyzing the presence data, and sending an alert to the userdevice, the alert including an indication that an alarm condition existsat the monitored location. In some embodiments, the instructions, whenexecuted by the processor, cause the processor to perform operationsfurther including generating, at the computer, historical data definingpresence at the monitored location, and trend data defining a trendassociated with the presence at the monitored location. The presencesensor can include a radio frequency identification tag.

Other systems, methods, and/or computer program products according toembodiments will be or become apparent to one with skill in the art uponreview of the following drawings and detailed description. It isintended that all such additional systems, methods, and/or computerprogram products be included within this description, be within thescope of this disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a system diagram illustrating an illustrative presence systemfor use in various embodiments of the concepts and technologiesdescribed herein.

FIG. 2 is a block diagram schematically illustrating additional aspectsof the concepts and technologies disclosed herein, according to anillustrative embodiment.

FIG. 3 is a line drawing illustrating an example embodiment of apresence sensor, according to an illustrative embodiment.

FIG. 4 is a line drawing illustrating an example implementation of theconcepts and technologies disclosed herein for detecting presence usinga presence sensor network, according to one illustrative embodiment.

FIGS. 5A-5G are user interface diagrams illustrating example screendisplays for presenting presence information, according to someillustrative embodiments of the concepts and technologies disclosedherein.

FIG. 6 is a flow diagram showing aspects of a method for obtaining andstoring data for providing a presence service, according to anillustrative embodiment.

FIG. 7 is a flow diagram showing aspects of a method for obtaining datafor providing a presence service, according to another illustrativeembodiment.

FIG. 8 is a flow diagram showing aspects of a method for presenting datato provide a presence service, according to another illustrativeembodiment.

FIG. 9 schematically illustrates a network, according to an illustrativeembodiment.

FIG. 10 is a block diagram illustrating an example computer systemconfigured to provide a presence service, according to some illustrativeembodiments of the concepts and technologies disclosed herein.

FIG. 11 is a block diagram illustrating an example mobile deviceconfigured to interact with a presence service, according to someillustrative embodiments.

DETAILED DESCRIPTION

The following detailed description is directed to detecting presenceusing a presence sensor network. According to various embodiments of theconcepts and technologies described herein, a monitored location can bedetermined and/or selected. The monitored location can include anoffice, a home, a room, a sidewalk, an intersection, a cross walk, a busstop, a train stop, an airport, a train, bus, or subway platform, aroadway or railway crossing, a store or other retail location, avehicle, other locations, or the like. For purposes of illustrating anddescribing various embodiments of the concepts and technologiesdescribed herein, the monitored location is described herein as a store,office, or other retail location. It should be understood that thisembodiment is illustrative, and should not be construed as beinglimiting in any way.

A number of presence sensors can be located at the monitored location.According to various embodiments of the concepts and technologiesdescribed herein, the functionality of the presence sensors can beprovided by radio frequency identification (“RFID”) tags. As will beexplained in more detail below, RFID tags can provide an inexpensive andeffective presence sensor. According to various embodiments of theconcepts and technologies described herein, the RFID tags can beselected and/or configured such that the RFID tags respond to a radiosignal emitted at a resonant frequency in only certain conditions. Inparticular, if a person is located between a particular RFID tag and asignal emitter, the person's body may absorb, reflect, or block thesignal to the extent that the RFID tag does not power on in response toresonation of the antenna/conductive trace of the RFID tag. Thus, bymonitoring responses from RFID tags in a vicinity of an emitter, adevice can determine what, if any, RFID tags are blocked by a person orother object.

According to some embodiments, data describing the monitored locationcan be configured and saved via interactions with a presence service orother presence application or module. The data can be saved in a memory,drive, database, or other data storage device. In some embodiments, thedata includes room data describing the room, location, region, area, orother aspect of the monitored location; sensor ID data describinglocations (within the monitored location) and identities of presencesensors located at the monitored location; trigger data defining alerts,alarms, or other notification conditions that, when determined to existat that monitored location, trigger an alarm, alert, or othernotification; other information such as trend information, historicalinformation; or the like.

The presence service can obtain presence data associated with themonitored location. The presence data can be provided by a computer orother computing system located at the monitored location. The presencedata can be received by the presence service and used to determinepresence at the monitored location. In some embodiments, the presenceservice compares the presence data to room data, sensor ID data, triggerdata, other data, or the like, and determines the presence at themonitored location based upon this information. The presence service cangenerate presence display data that visually represents the determinedpresence, and also can trigger and/or generate alarms or alerts ifdetermined to be appropriate based upon the determined presence. Thepresence display data can be provided to a user device, which can renderone or more user interfaces for a user such as, for example, a manager,or the like.

In some embodiments, a user device obtains and uses the presence dataand generates the presence display data. Thus, the presence service canbe omitted in some embodiments, or may not be accessed in someinstances. Thus, embodiments of the concepts and technologies describedherein allow users to monitor a monitored location remotely and obtainalerts and/or alarms without viewing a video or monitoring the locationin person. These and other aspects of the concepts and technologiesdescribed herein are illustrated and described below.

While the subject matter described herein is presented in the generalcontext of program modules that execute in conjunction with theexecution of an operating system and application programs on a computersystem, those skilled in the art will recognize that otherimplementations may be performed in combination with other types ofprogram modules. Generally, program modules include routines, programs,components, data structures, and other types of structures that performparticular tasks or implement particular abstract data types. Moreover,those skilled in the art will appreciate that the subject matterdescribed herein may be practiced with other computer systemconfigurations, including hand-held devices, multiprocessor systems,microprocessor-based or programmable consumer electronics,minicomputers, mainframe computers, and the like.

Referring now to FIG. 1, aspects of a presence system 100 that can beused in various embodiments of the concepts and technologies disclosedherein for detecting presence using a presence sensor network will bedescribed, according to an illustrative embodiment. The presence system100 shown in FIG. 1 includes a user device 102 operating incommunication with and/or as part of a communications network(“network”) 104, though this is not necessarily included.

According to various embodiments, the functionality of the user device102 may be provided by one or more server computers, desktop computers,mobile telephones, smart phones, personal digital assistants, tabletcomputers, laptop computers, set-top boxes, other computing systems, andthe like. It should be understood that the functionality of the userdevice 102 can be provided by a single device, by two similar devices,and/or by two or more dissimilar devices. For purposes of describing theconcepts and technologies disclosed herein, the user device 102 isdescribed herein as a mobile computing device such as a smartphone. Itshould be understood that this embodiment is illustrative, and shouldnot be construed as being limiting in any way.

The user device 102 can execute an operating system 106 and one or moreapplication programs 108. The operating system 106 is a computer programfor controlling the operation of the user device 102. The applicationprograms 108 are executable programs configured to execute on top of theoperating system 106 to provide various functions. According to variousembodiments, the application programs 108 include web browsers, webapplications, native applications such as productivity software,inventory software, point-of-sale software, combinations thereof, or thelike.

As is known, and as will be explained and illustrated in additionaldetail below, the application programs 108 can be configured to generateand/or present one or more user interfaces (“UIs”) 110. In someembodiments, the UIs 110 are rendered at the user device 102 based upondata obtained by the user device 102. Thus, the UIs 110 can correspond,for example, to one or more web pages or web application displaysobtained by the user device 102 from a remote computer such as a serveror other host. In some embodiments, the user device 102 generates theUIs 110 by executing one or more of the application programs 108.Regardless of where or how the UIs 110 are generated, the UIs 110 can beconfigured to present presence information at the user device 102 and/orto support or allow interactions via which presence applications and/orpresence services can be configured. Some illustrative examples of theUIs 110 are illustrated and described below in more detail withreference to FIGS. 5A-5G.

In some embodiments, the user device 102 generates the UIs 110 basedupon presence display data 112. As explained above, the presence displaydata 112 can be generated by the user device 102 and/or obtained from aremote source such as, for example, a server computer 114. For purposesof illustrating and describing the concepts and technologies disclosedherein, FIG. 1 illustrates an embodiment wherein the presence displaydata 112 is obtained from the server computer 114. The presence displaydata 112 can include data that, when rendered at the user device 102,provides one or more of the UIs 110. Thus, the presence display data 112can include one or more web page files, image files, scripts,combinations thereof, or the like. It should be understood that thisexample is illustrative, and should not be construed as being limitingin any way.

The presence display data 112 can be generated by an application orservice hosted by the server computer 114. In the illustratedembodiment, the server computer 114 executes a presence service 116. Thepresence service 116 can be executed by the server computer 114 toprovide the concepts and technologies disclosed herein for obtaining andpresenting presence data and for generating, storing, hosting, and/orproviding the presence display data 112. The functionality describedherein with reference to the presence service 116 can be provided by oneor more application programs 108 executed by the user device 102 inaddition to, or instead of begin hosted by the server computer 114. Assuch, the example shown in FIG. 1 is illustrative and should not beconstrued as being limiting in any way.

The presence service 116 can be configured to obtain data 118 from theuser device 102, for example, via one or more of the UIs 110 presentedat or by the user device 102. The presence service 116 can obtain thedata 118 and store the data 118 in a local or remote data storage devicesuch as, for example, a data store 120. The functionality of the datastore 120 can be provided by one or more databases, server computers,desktop computers, mobile telephones, laptop computers, other computingsystems, and the like. As shown in FIG. 1, the data 118 can include, butis not limited to, various types of information such as, for example,room data 122, sensor ID data 124, trigger data 126, other data 128,combinations thereof, or the like.

The room data 122 can include, but is not limited to, data defining amonitored location 130 such as a room, building, vehicle, area, region,or the like. Thus, the room data 122 can define, for example, walls of amonitored location 130; furniture and/or fixtures within or at amonitored location 130; structures and/or other physical aspects of themonitored location 130; data defining portions and/or regions of themonitored locations 130, for example, data defining a portion or regionof a monitored location 130 as a customer area, an operations area, orthe like; and/or other data that defines the room and/or other area thatis monitored via the presence service 116. The room data 122 also candefine relationships between various structures, fixtures, and/ormovable objects within the monitored location 130. Because the monitoredlocation 130 can include a room or other area, region, structure, or thelike, it should be understood that these examples of the room data 122are illustrative, and should not be construed as being limiting in anyway.

The sensor ID data 124 can include, but is not limited to, data thatdefines or describes one or more, or each, presence sensor 132 locatedat the monitored location 130. The sensor ID data 124 can thereforeinclude, for example, a unique identifier for each presence sensor 132,as well as a location, within the monitored location 130, of thepresence sensor 132. Thus, for example, the sensor ID data 124 caninclude a table or other data structure that defines a presence sensor132 by way of a unique identifier for the presence sensor 132 and alocation, within the monitored location 130, of the presence sensor 132.Because the sensor ID data 124 can include additional and/or alternativeinformation, it should be understood that these examples of the sensorID data 124 are illustrative, and should not be construed as beinglimiting in any way.

The trigger data 126 can include, for example, data that defines one ormore triggers for presence-based alarms, alerts, and/or other types ofnotifications. As used herein, a “presence-based alarm” can include, forexample, an alarm, alert, or other notification that can be generated bythe presence service 116 in response to detecting a presence conditionat the monitored location 130 and/or in response to detecting otherconditions or trends at the monitored location 130. Thus, presence-basedalarms can be generated or triggered by the presence service 116, forexample, in response to detecting a number of people at the monitoredlocation 130, a number of people at a portion or area of the monitoredlocation 130, a trend in the number of people at the monitored location130 and/or portion thereof, a time duration for which a number of peoplehas been exceeded at the monitored location 130, a concentration ofpeople at the monitored location 130 and/or a portion thereof,combinations thereof, or the like.

As will be explained in more detail below, a presence-based alarm can begenerated, for example, if a line at or near a cash register, display,door, or other area of the monitored location 130 reaches a definedlength or concentration threshold. Thus, the presence-based alarm can beused to alert a manager or other party that an action, e.g., openinganother register, investigating a crowd, or the like, should be taken.It should be understood that these examples are illustrative, and shouldnot be construed as being limiting in any way.

The other data 128 can include various types of information that can beinterpreted and/or used by the presence service 116 to provide thefunctionality described herein. Thus, the other data 128 can include,for example, trend information, historical information, time and/orlocation information, shift change information, employee scheduleinformation, combinations thereof, or the like. Thus, the presenceservice 116 can be configured to use the other data 128, for examplehistorical and/or trend information, to predict and/or interpretpresence changes at the monitored location 130. For example, thepresence service 116 can be configured, in some embodiments, to use thetrend and/or historical information to interpret presence changes tounderstand presence changes, to prompt action or to suppress action,e.g., if a presence change corresponds to a “normal” or anticipatedchange in presence based upon historical and/or trend information, orthe like. It should be understood that these examples are illustrative,and should not be construed as being limiting in any way.

The presence service 116 also can be configured to obtain presence data134 associated with the monitored location 130. The presence data 134can include, for example, a list or table of presence sensor identifiersat a particular time and therefore can be used by the presence service116 to determine presence at the monitored location 130. According tosome embodiments, the presence data 134 can be captured via one or morereceivers or transceivers (not visible in FIG. 1) located at or near themonitored location 130. The presence data 134 can be obtained and/orpackaged by one or more computing devices in communication with thereceivers and/or transceivers and/or can be provided to the presenceservice 116 in other ways. These and other aspects of obtaining presencedata 134 at or near the monitored location 130 will be described inadditional detail below, particularly with reference to FIGS. 2-4.

In operation, the concepts and technologies disclosed herein can be usedto provide a presence service 116 to a user and/or other entities. Amonitored location 130 can be equipped with one or more presence sensors132. According to various embodiments, the presence sensors 132 areradio frequency identification (“RFID”) devices (“RFID tags”). Accordingto various embodiments of the concepts and technologies disclosedherein, RFID tags can be used to provide the functionality describedherein for the presence sensors 132 because the RFID tags can beinexpensive, often costing one or more cents per piece, or even afraction of a cent, reliable, and relatively easy to install and/orretrofit to a monitored location 130 since independent communicationand/or electricity media may be unnecessary.

Furthermore, RFID tags are used in some embodiments of the concepts andtechnologies disclosed herein because RFID tags can be configured toprovide an ID in response to a signal emitted at a resonant frequency,and because the RFID tags can be configured not to respond to the signalemitted at the resonant frequency if a body of a person is locatedbetween a device emitting the signal and the RFID tag. Thus, someembodiments of the concepts and technologies disclosed herein providethe presence data 134 by way of emitting signals in one or more resonantfrequencies and detecting which (if any) RFID tags are occluded and/orwhich RFID tags are not occluded by a person and/or people based uponwhich RFID tags respond to the emitted signal.

As such, various embodiments of the concepts and technologies disclosedherein can provide a relatively inexpensive network of presence sensors(“presence sensor network”) and/or use presence information gathered bythe presence sensor network. The presence sensor network can be providedby RFID tags disposed at or throughout a monitored location 130. TheRFID tags can be periodically and/or continuously polled by an emittersuch as an RF transceiver that emits a signal in a resonant frequency(or frequencies). By monitoring the monitored location 130 with areceiver and/or a transceiver, a presence service 116 can obtainpresence data 134 that identifies RFID tags that are activated by thesignal emitted at the resonant frequency (or frequencies) and/or whatRFID tags are not activated by the signal emitted at the resonantfrequency (or frequencies). RFID tags that are not activated by thesignal emitted in the resonant frequency can be determined, by thepresence service 116, to correspond to RFID tags that are occluded by aperson or people between the signal emitter and the RFID tags. Thepresence data 134 can be reported to and/or obtained by the presenceservice 116.

The presence service 116 can obtain the presence data 134, and comparethe presence data 134 with the sensor ID data 124 and/or otherinformation stored as the data 118 described herein. By referencing thesensor ID data 124, the presence service 116 can identify which presencesensors 132 are activated and/or which presence sensors 132 are notactivated at a particular time based upon the inclusion or exclusion ofpresence sensor identifiers in the presence data 134. This informationcan be used by the presence service 116 to determine presence at or neara monitored location 130, as will be explained in additional detailbelow.

The presence service 116 can generate, based upon the data 118 and thepresence data 134, presence display data 112. As explained above, thepresence display data 112 can correspond to a web page, an image, and/orother types of information that can be provided to the user device 102and/or other devices to render a display such as the UIs 110. Inaddition to, or instead of, visual information, the presence displaydata 112 can include alerts, alarms, and/or indicators for indicatingthat an alert and/or alarm condition exists at the monitored location130. Thus, embodiments of the concepts and technologies disclosed hereincan enable alerts and alarms based upon detected presence conditions ator near the monitored location 130. These and other aspects of theconcepts and technologies disclosed herein will be illustrated anddescribed in more detail below with reference to FIGS. 2-11.

FIG. 1 illustrates one user device 102, one network 104, one servercomputer 114, one data store 120, and one monitored location 130. Itshould be understood, however, that various implementations of thepresence system 100 include zero, one, or more than one user device 102;zero, one, or more than one network 104; zero, one, or more than oneserver computer 114; zero, one, or more than one data store 120; andzero, one, or more than one monitored location 130. As such, theillustrated embodiment should be understood as being illustrative, andshould not be construed as being limiting in any way.

Turning now to FIG. 2, additional aspects of the concepts andtechnologies disclosed herein are described in detail. In particular,FIG. 2 shows a schematic view of a monitored location 130, according toone embodiment of the concepts and technologies disclosed herein. Asshown in FIG. 2, a number of presence sensors 132 are shown located at,near, or within a monitored location 130. In accordance with variousembodiments of the concepts and technologies disclosed herein, thefunctionality of the presence sensors 132 can be provided by RFID tags.Thus, the presence sensors 132 can be located such that the presencesensors 132 can receive a signal emitted at a resonant frequency and/orat a combination of resonant frequencies. Furthermore, the presencesensors 132 can be located such that when one or more of the presencesensors 132 resonates in response to exposure to the signal emitted atthe resonant frequency (or frequencies), signals emitted by the presencesensors 132 can be detected by a receiver or transceiver located at ornear the monitored location 130.

In FIG. 2, the monitored location 130 includes a number of presencesensors 132. A combination radio frequency emitter and radio frequencyreceiver (“transceiver,” labeled in FIG. 2 as TxRx”) 200 is located ator near the monitored location 130. While only one transceiver 200 isshown in FIG. 2, it should be understood that various embodiments of theconcepts and technologies disclosed herein include multiple transceivers200. In particular, some embodiments of the concepts and technologiesdisclosed herein rely upon multiple transceivers 200 to increase aprobability that a body of a person will prevent responding by thepresence sensors 132.

In some embodiments, for example, the multiple transceivers 200 areconfigured to emit a signal at a reduced power (less than full powerand/or less than a typical power at which the signal is emitted). Thus,the range of the transceivers 200 can be decreased. Multipletransceivers 200 can be dispersed at multiple locations within or nearthe monitored location 130, embodiments of the concepts and technologiesdisclosed herein can maximize the occlusion effect mentioned above byincreasing a degree to which a body occludes the resonant frequency(since the frequency is emitted at a low power). It should be understoodthat these examples are illustrative, and should not be construed asbeing limiting in any way.

As shown in FIG. 2, the transceiver 200 can emit a radio signal atresonant frequency and/or can emit a number of radio signals in acombination of resonant frequencies. This radio signal, or signals, areshown in FIG. 2 labeled as RF 202. It can be appreciated that a radiosignal can be emitted in non-directional manner, and that theillustrated embodiment is provided merely to illustrate the concepts andtechnologies disclosed herein. The RF 202 can arrive at and/or beencountered by any number of the presence sensors 132. In FIG. 2, thepresence sensor 132 labeled S_(1,N) receives the RF 202 and a conductivetrace or other antenna of the presence sensor 132 can resonate to poweran integrated circuit (“IC”) chip associated with the presence sensor132. In response to the power generated by the presence sensor 132, theIC can generate a signal that includes a unique identifier associatedwith the presence sensor 132. Thus, the presence sensor 132 can, byvirtue of receiving the RF 202, become a read presence sensor 204, andcan provide a signal including a unique identifier 206 to thetransceiver 200. It should be understood that this example isillustrative, and should not be construed as being limiting in any way.

The RF 202 can also arrive at or near other presence sensors 132. InFIG. 2, the presence sensor 132 labeled S_(1,4) can be within range ofthe RF 202 emitted by the transceiver 200, but because a body of aperson 208 can be located between the transceiver 200 and the presencesensor 132, the presence sensor 132 labeled S_(1,4) can correspond to anoccluded presence sensor 210. The occluded presence sensor 210 thereforemay not generate a signal in response to the RF 202, or any signalgenerated by the occluded presence sensor 210 may be of reduced powerand may not reach the transceiver 200. Thus, the presence sensor 132can, by virtue of not receiving the RF 202, become a occluded presencesensor 210, and information indicating that the occluded presence sensor210 does not provide a signal can be interpreted as indicating presenceof the person 208 at or near the occluded presence sensor 210. Theinformation indicating the occlusion or response of the various presencesensors 132 can be used by the presence service 116 to provide variousfunctionality as described below in more detail.

Turning now to FIG. 3, additional aspects of the concepts andtechnologies disclosed herein are described in detail. In particular,FIG. 3 is a line drawing showing an illustrative presence sensor 300,according to some embodiments of the concepts and technologies disclosedherein. It should be appreciated that the presence sensor 300 shown inFIG. 3 can provide the functionality described herein with reference tothe presence sensor 132, the read presence sensor 204, and/or theoccluded presence sensor 210. It should be understood that theseexamples are illustrative, and should not be construed as being limitingin any way.

As shown in FIG. 3, the presence sensor 300 can include a substrate 302.The substrate 302 can be formed from linoleum, ceramics, carpets, woods,plastics and/or other polymers, glasses, metals, epoxies and/or otherresins, other materials, combinations thereof, or the like. According tosome embodiments, the functionality of the substrate 302 can be providedby a floor tile such as a linoleum tile or a ceramic tile. It should beunderstood that these examples are illustrative, and should not beconstrued as being limiting in any way.

The substrate 302 can include a recess or other hollowed area (“recess”)304, though this is not necessarily the case. The recess 304 can beformed any number of ways including molding, machining, electronicdischarge, combinations thereof, or the like. The hollow can be formedin the substrate 302 to house an RFID tag 306. In some embodiments, therecess 304 can be omitted and the RFID tag 306 can be attached to thesubstrate 302. In some implementations, attaching the RFID tag 306 tothe substrate 302 can provide convenient, easy, and/or machining-freeinstallation of the RFID tag 306, though this is not necessarily thecase. As is generally understood, the RFID tag 306 can include and/orcan be coupled to a conductive trace or other antenna (“antenna”) 308.When a resonant frequency is emitted at or near the presence sensor 300,the antenna 308 can resonate, thereby generating a current that powersthe RFID tag 306, an integrated circuit, and/or other hardware coupledto the antenna 308.

The RFID tag 306 can, in response to being powered by the antenna 308,generate and emit a signal that includes a unique identifier associatedwith the RFID tag 306 (and only that RFID tag 306). If a person islocated between the RFID tag 306 and a source of the resonant frequency,the RFID tag 306 may not be powered by the resonant frequency andtherefore may not respond with the unique identifier associated withthat presence sensor 300. Alternatively, the RFID tag 306 may be poweredby the resonant frequency and may respond with the unique identifier,but the response signal may not reach a receiver or transceiver due tobeing blocked by the person and/or due to a reduced power of the signalby virtue of being blocked by the person. Thus, by monitoring a numberof RFID tags 306 of a number of presence sensors 300 and/or signalsemitted thereby, presence of people at or near the presence sensors 300can be detected. It should be understood that these examples areillustrative, and should not be construed as being limiting in any way.

Turning now to FIG. 4, an example implementation of the presence sensors300 is shown, according to an illustrative embodiment of the conceptsand technologies disclosed herein. As shown in FIG. 4, a room 400 cancorrespond to a monitored location 130. A floor of the room can be tiledwith a number of the presence sensors 300 illustrated and describedabove with reference to FIG. 3. It should be understood that otherpresence sensors 132 can be used in accordance with various embodimentsof the concepts and technologies disclosed herein.

The room 400 also can include a number of transceivers (labeled in FIG.4 as “TxRx”) 200, as explained above. The transceivers 200 in the room400 can continuously and/or periodically emit a signal and/or signals ata resonant frequency and/or a combination of resonant frequencies. Thetransceivers 200 also can monitor the room 400 for signals emitted bythe presence sensors 300. Thus, the transceivers 200 can determine ifany of the presence sensors 300 are occluded at a particular time. Asshown in FIG. 4, one or more of the presence sensors 300 may be occludedby a person 402. As such, the transceiver 200 may not receive a signalassociated with the occluded presence sensor 210, though the transceiver200 may receive signals associated with the other presence sensors 300in the room 400. In the example illustrated in FIG. 4, presence data 134can indicate twenty presence sensors 300, instead of twenty-one. Thus, acomputing system or application such as the presence service 116 candetermine that one of the presence sensors 300 is occluded and use thatinformation to provide presence information. It should be understoodthat these examples are illustrative, and should not be construed asbeing limiting in any way.

FIGS. 5A-5G are user interface (“UI”) diagrams showing aspects of UIsfor collecting and using presence information to provide a presenceservice, according to some illustrative embodiments of the concepts andtechnologies described herein. FIG. 5A shows an illustrative screendisplay 500A generated by a device such as the user device 102.According to various embodiments, the user device 102 can generate thescreen display 500A and/or other screen displays in conjunction withand/or based upon data, for example the presence display data 112, whichcan be received from and/or generated by the presence service 116described herein. It should be appreciated that the UI diagramillustrated in FIG. 5A is illustrative of one contemplated example ofthe UIs 110 and therefore should not be construed as being limited inany way.

The screen display 500A can include various menus and/or menu options.The screen display 500A also can include a monitored locationrepresentation 502, which can correspond to a visual representation or amap of the monitored location 130. For purposes of illustrating anddescribing the concepts and technologies disclosed herein, the monitoredlocation representation 502 is illustrated as showing a store or otherretail location. It should be understood that this example isillustrative, and should not be construed as being limiting in any way.

The screen display 500A also includes a monitored locationrepresentation configuration tab 504 for configuring and/or generatingthe monitored location representation 502. As shown in FIG. 5A, the UIs110 can be interacted with to generate a representation of the monitoredlocation 130 via adding furniture representations, area representations,room representations, other representations, or the like. Thus, forexample, a user or other entity can create a representation of amonitored location 130 and/or edit a representation of the monitoredlocation 130 to reflect changes. In the illustrated embodiment, themonitored location representation configuration tab 504 includes a UIcontrol 506 for adding one or more representations of furniture, a UIcontrol 508 for adding one or more representations of areas, a UIcontrol 510 for adding one or more representations of rooms,combinations thereof, or the like. It should be understood that other UIcontrols can be included for adding other types of representations, ifdesired.

The monitored location representation 502 is illustrated as includingtwo rooms 512A-B, which are shown as illustrating a break room (labeled“BR”) and a men's restroom (labeled “MR”). It should be understood thatthis example is illustrative, and should not be construed as beinglimiting in any way. As shown collectively with reference to FIGS.5A-5B, a user or other entity can add a room to the monitored locationrepresentation 502 by tapping and/or dragging and dropping a new roomvia the UI control 510. It should be understood that this example isillustrative, and should not be construed as being limiting in any way.As shown in FIGS. 5A-5C, the user or other entity can build themonitored location representation 502 via these and/or otherinteractions with the UIs 110.

Although not visible in FIGS. 5A-5G, it can be appreciated from thedescription of FIG. 1 that the data generated by way of theseinteractions can be stored by the presence service 116 as the room data122 and/or other data included in the data 118, if desired. When theuser or other entity has completed configuring the monitored locationrepresentation 502, the user or other entity can select the UI control514 as shown in FIG. 5C.

With reference to FIG. 5C, it can be appreciated that the user or otherentity can create a representation of a store, retail space, or othermonitored location. In the embodiment shown in FIG. 5C, five aisles areshown (labeled “A1-A5”). Additionally, the representation includes abreak room (labeled “BR”), a men's room (labeled “MR”), a ladies' room(labeled “LR”), a manager's area (labeled “MGR”), and three registers orother point-of-sale locations (labeled “R1-R3”). Other areas, furniture,and/or rooms can be included in the monitored location representation502, but are not necessarily visible in the embodiment shown in FIGS.5A-5C.

Upon selecting the UI control 514, the user device 102 can presentanother UI 110 to allow the user or other entity to configure presencesensors 132 included in the monitored location 130. An example of such aUI 110 is shown in FIG. 5D. In particular, FIG. 5D shows an illustrativescreen display 500D generated by a device such as the user device 102.It should be appreciated that the UI diagram illustrated in FIG. 5D isillustrative of one contemplated example of the UIs 110 and thereforeshould not be construed as being limited in any way.

The screen display 500D can correspond to a UI 110 that can beinteracted with by a user or other entity to define locations of one ormore presence sensors 132. According to various embodiments, thelocations of the presence sensor representations 520 within themonitored location representation 502 can be set by a user or otherentity via interactions with the UI 110. In some embodiments, the userdevice 102 and/or the presence service 116 support importing tables orother data structures that include representations of each presencesensor 132 located in the actual monitored location 130. Thus, forexample, an installer or install team can generate a table or other datastructure that defines locations of the presence sensors 132 and/ortheir respective locations within the actual monitored location 130 andprovide that data to the presence service 116. Furthermore, it can beappreciated that the installer or install team can generate themonitored location representation 502, in some embodiments.

A user or other entity also can select one or more of the presencesensor representations 520 and select the UI control 522 to mark thepresence sensor(s) 132 associated with the presence sensorrepresentation(s) 520 as part of a checkout line or checkout area. Theuser or other entity also can select one or more of the presence sensorrepresentations 520 and select the UI control 524 to mark the presencesensor(s) 132 associated with the presence sensor representation(s) 520as a customer area. Additionally, the user or other entity can selectone or more of the presence sensor representations 520 and select the UIcontrol 526 to mark the presence sensor(s) 132 associated with thepresence sensor representation(s) 520 as an operations area that is notaccessible to customers and/or associated with customer activity. Forexample, the user or other entity may mark any presence sensors 132within the break room, manager's area, and/or at the employee side ofthe cash registers as being operations areas. It should be understoodthat these examples are illustrative, and should not be construed asbeing limiting in any way.

It can be appreciated that the data 118 can define an association forone or more (or all) of the presence sensors 132 represented by thepresence sensor representations 520. In particular, the data 118 canassociate the presence sensors 132 with unique identifiers of the actualpresence sensors 132 located at the monitored location 130. As such, ifthe presence service 116 receives the presence data 134, the presenceservice 116 can interpret the presence data 134, in conjunction with thedata 118, to indicate on a UI 110 where people are located within themonitored location 130 based upon received unique identifiers as well asunique identifiers that are not received. An example of a presencedisplay is illustrated and described in more detail below, particularlywith reference to FIG. 5G.

Referring now to FIG. 5E, a UI diagram showing additional aspects of theconcepts and technologies disclosed herein for collecting and usingpresence information are described in detail. In particular, FIG. 5Eshows an illustrative screen display 500E generated by a device such asthe user device 102. It should be appreciated that the UI diagramillustrated in FIG. 5E is illustrative of one contemplated example ofthe UIs 110 and therefore should not be construed as being limited inany way. As shown in FIG. 5E, the screen display 500E can be presentedon a mobile computing device such as a smartphone, if desired. It shouldbe understood that this example is illustrative, and should not beconstrued as being limiting in any way.

The screen display 500E can include a presence monitor preferencesscreen 530. The presence monitor preferences screen 530 can be used toallow users or other entities to configure various aspects of thepresence service 116 described herein. The preferences screen 530 alsocan be used to define or configure how data generated by the presenceservice 116 is used and/or interpreted by the user device 102. Thus, auser or other entity may specify, for example, alarm conditions forlines; alarm conditions for a break room; alarm conditions for a store(or other monitored location 130); how alarms are to be presented at theuser device 102; other alarm, alert, or notification triggers; otheroptions; combinations thereof; or the like. Because other preferencesare contemplated, it should be understood that these examples areillustrative, and should not be construed as being limiting in any way.For example, some embodiments of the concepts and technologies disclosedherein provide options for configuring how and when alerts are and/orare not pushed to the user device 102, store hours, special events,combinations thereof, or the like.

Alarm conditions for lines can be specified, for example, by definingthresholds for a number of people at or near a cash register or otherpoint-of-sale, a length of a line at or near the points-of-sale, aconcentration of people at or near the points-of-sale, a time of wait atthe points-of-sale, combinations thereof, or the like. The alarmconditions for the break room can include, for example, a number ofpeople in the break room, a length of time the break room is occupied, atime of day or day of the week on or at which the break room isoccupied, combinations thereof, or the like. The alarm conditions forthe store (or other monitored location 130) can include, for example, atotal number of customers or other people in the monitored location 130,an average number of people at the monitored location 130, combinationsthereof, or the like. It should be understood that these examples areillustrative, and should not be construed as being limiting in any way.

The screen display 500E also can provide options for defining alerts oralarms to be generated by the presence service 116. Thus, for example,the screen display 500E can be used to enable and/or configure audiblealerts, vibrate or other tactile alerts, visual alerts, other alerts, orthe like. As noted above, other preferences are contemplated but are notshown in FIG. 5E due to the space limitations. Thus, the embodimentshown in FIG. 5E should be understood as being illustrative and shouldnot be construed as being limiting in any way. The screen display 500Ealso includes a UI control 532 for accepting the preferences and a UIcontrol 534 for exiting the preferences.

Turning now to FIG. 5F, a UI diagram showing additional aspects of theconcepts and technologies disclosed herein for collecting and usingpresence information are described in detail. In particular, FIG. 5Fshows an illustrative screen display 500F generated by a device such asthe user device 102. It should be appreciated that the UI diagramillustrated in FIG. 5F is illustrative of one contemplated example ofthe UIs 110 and therefore should not be construed as being limited inany way. As shown in FIG. 5F, the screen display 500F can be used topresent an alert or alarm to a user or other entity at the user device102. In some embodiments, the alarm or alert can be pushed to the userdevice 102 at any time. It should be understood that this example isillustrative, and should not be construed as being limiting in any way.

The alert or alarm can be presented at the user device 102 as an alertwindow 540. The alert window 540 can include one or more descriptions542 of the alarm or alert conditions present at the monitored location130. Thus, for example, the alert window 540 can explain that a numberof customers at or near a point-of-sale location exceeds a definedthreshold, that a number of employees in a break room exceeds a definedthreshold, that other defined thresholds are met or exceeded,combinations thereof, or the like. Because other alarm conditions arecontemplated and are possible, it should be understood that theseexamples are illustrative, and should not be construed as being limitingin any way.

The alert window 540 also can include a UI control 544 for launching apresence monitor view at the user device 102 and a UI control 546 fordismissing the alert window 540. Selection of the UI control 544 cancause the user device 102 to generate another UI 110 for viewing thepresence monitor. Thus, for example, a user or other entity can interactwith the UI 110 shown in FIG. 5F to access a view of the presenceinformation associated with the monitored location, if desired. Anexample of a view of the presence information is shown in FIG. 5G.

Turning now to FIG. 5G, a UI diagram showing additional aspects of theconcepts and technologies disclosed herein for collecting and usingpresence information are described in detail. In particular, FIG. 5Gshows an illustrative screen display 500G generated by a device such asthe user device 102. It should be appreciated that the UI diagramillustrated in FIG. 5G is illustrative of one contemplated example ofthe UIs 110 and therefore should not be construed as being limited inany way. As shown in FIG. 5G, the screen display 500G can be used topresent a presence monitor view of a monitored location 130.

In the presence monitor view, a location of each detected person at themonitored location 130 can be represented. Thus, a user or other entitycan view the screen display 500G to determine, for example, that threeemployees are in the break room 550, that a line exists at an area 552near the only occupied point-of-sale location in the monitored location130 (based upon the absence of any employees at the otherpoints-of-sale), and that a crowd has formed in an area 554 of themonitored location 130. Based upon this information, the user or otherentity can take various actions such as, for example, directing theemployees in the break room 550 to exit and to open anotherpoint-of-sale, directing an employee, manager, or other entity toinvestigate the crowd that has formed, or to take other actions. Itshould be understood that these examples are illustrative, and shouldnot be construed as being limiting in any way.

Turning now to FIG. 6, aspects of a method 600 for obtaining and storingdata for providing a presence service will be described in detail,according to an illustrative embodiment. It should be understood thatthe operations of the methods disclosed herein are not necessarilypresented in any particular order and that performance of some or all ofthe operations in an alternative order(s) is possible and iscontemplated. The operations have been presented in the demonstratedorder for ease of description and illustration. Operations may be added,omitted, and/or performed simultaneously, without departing from thescope of the concepts and technologies disclosed herein.

It also should be understood that the methods disclosed herein can beended at any time and need not be performed in its entirety. Some or alloperations of the methods, and/or substantially equivalent operations,can be performed by execution of computer-readable instructions includedon a computer storage media, as defined herein. The term“computer-readable instructions,” and variants thereof, as used herein,is used expansively to include routines, applications, applicationmodules, program modules, programs, components, data structures,algorithms, and the like. Computer-readable instructions can beimplemented on various system configurations including single-processoror multiprocessor systems, minicomputers, mainframe computers, personalcomputers, hand-held computing devices, microprocessor-based,programmable consumer electronics, combinations thereof, and the like.

Thus, it should be appreciated that the logical operations describedherein are implemented (1) as a sequence of computer implemented acts orprogram modules running on a computing system and/or (2) asinterconnected machine logic circuits or circuit modules within thecomputing system. The implementation is a matter of choice dependent onthe performance and other requirements of the computing system.Accordingly, the logical operations described herein are referred tovariously as states, operations, structural devices, acts, or modules.These states, operations, structural devices, acts, and modules may beimplemented in software, in firmware, in special purpose digital logic,and any combination thereof. As used herein, the phrase “cause aprocessor to perform operations” and variants thereof is used to referto causing a processor of a computing system or device, such as the userdevice 102, the server computer 114, and/or other devices to perform oneor more operations and/or causing the processor to direct othercomponents of the computing system or device to perform one or more ofthe operations.

For purposes of illustrating and describing the concepts of the presentdisclosure, the method 600 is described as being performed by the servercomputer 114 via execution of one or more software modules such as, forexample, the presence service 116. It should be understood thatadditional and/or alternative devices and/or network nodes can providethe functionality described herein via execution of one or more modules,applications, and/or other software including, but not limited to, thepresence service 116. Thus, the illustrated embodiment is illustrative,and should not be construed as being limiting in any way.

The method 600 begins at operation 602. In operation 602, the servercomputer 114 generates one or more user interfaces 110 for obtainingdata defining a monitored location 130. From the description of FIGS.1-5G above, it can be appreciated that the server computer 114 cangenerate, in operation 602, one or more web pages to be rendered by auser device 102 or other computing system, and that the user device 102can support interactions with the web pages and/or other UIs 110 tocreate the data in operation 602.

Thus, the data obtained in operation 602 can include, but is not limitedto, the data 118 shown in FIG. 1. As such, the data obtained inoperation 602 can include, but is not limited to, room data 122, sensorID data 124, trigger data 126, other data 128, other information,combinations thereof, or the like. It also should be appreciated thatmultiple UIs 110 may be configured in operation 602, and that multipleUIs 110 may be presented at the user device 102. Thus, while FIG. 6illustrates a single iteration of operation 602, it should be understoodthat operation 602 may be repeated any number of times to provide thefunctionality described herein.

From operation 602, the method 600 proceeds to operation 604, whereinthe server computer 114 provides the user interfaces 110 to the userdevice 102 or other computing system for display. In some embodiments,the server computer 114 provides the user interfaces 110 to the userdevice 102 or other computing system by hosting the user interfaces 110and allowing downloads or other transfers of the user interfaces 110. Insome other embodiments, the server computer 114 can transmit the dataobtained in operation 602 to the user device 102 and/or other computingsystems.

From operation 604, the method 600 proceeds to operation 606, whereinthe server computer 114 obtains data 118 from the user device 102 orother computing system. It can be appreciated that the data 118 can beobtained by the user device 102, for example, via interactions betweenusers and/or other entities and the UIs 110 generated in operation 602.Thus, in operation 606, the server computer 114 can obtain the data 118from the user device in response to interactions occurring at the userdevice 102.

As noted above, the data 118 obtained in operation 606 can include theroom data 122, the sensor ID data 124, the trigger data 126, the otherdata 128, other information, or the like. Thus, the server computer 114can obtain, in operation 606, data defining the monitored location 130including data describing the physical layout of the monitored location130, data describing locations of presence sensors 132 at the monitoredlocation 130 as well as their respective identities, alerts and/or alarmdefinitions and/or trigger conditions, other information such ashistorical and/or trend information, combinations thereof, or the like.Thus, the server computer 114 can obtain, in operation 606, data 118used by the server computer 114 to provide the functionality of thepresence service 116 described herein.

In some embodiments, the presence service 116 can generate historicaland/or trend information based upon the data 118 and/or presence data134 obtained over time. Thus, in addition to obtaining data at operation606, the server computer 114 can generate the data 118 in operation 606and/or over time. It should be understood that these embodiments areillustrative, and should not be construed as being limiting in any way.

From operation 606, the method 600 proceeds to operation 608, whereinthe server computer 114 stores the data 118. As explained above, theserver computer 114 can store the data 118 at the data store 120. Insome embodiments, the server computer 114 can store the data 118 atother data storage locations such as, for example, a local or remotedata storage device, a local or remote server or database, other datastorage devices, or the like. The data 118 can be stored at any locationand in various embodiments, is accessible to the presence service 116 toprovide functionality described herein with reference to variousembodiments of the concepts and technologies described herein. Someembodiments of using the data 118 to provide the presence service 116are described in additional detail below.

From operation 608, the method 600 proceeds to operation 610. The method600 ends at operation 610.

Turning now to FIG. 7, aspects of a method 700 for obtaining data forproviding a presence service will be described in detail, according toan illustrative embodiment. For purposes of illustrating and describingthe concepts of the present disclosure, the method 700 is described asbeing performed by the server computer 114 via execution of one or moresoftware modules such as, for example, the presence service 116. Itshould be understood that additional and/or alternative devices and/ornetwork nodes can provide the functionality described herein viaexecution of one or more modules, applications, and/or other softwareincluding, but not limited to, the presence service 116. Thus, theillustrated embodiment is illustrative, and should not be viewed asbeing limiting in any way.

The method 700 begins at operation 702, wherein the server computer 114obtains presence data 134 associated with a monitored location 130. Asexplained above in detail, the presence data 134 can include dataobtained by one or more receivers or transceivers at, near, or incommunication with other devices at or near the monitored location 130.In some embodiments, the presence data 134 can include a list of sensorIDs or identifiers sensed at the monitored location 130. The presencedata 134 can be provided as a table or other data structure, if desired.It can be appreciated that by comparing the sensed presence sensors 132to a list of known presence sensors 132 and their respectiveidentifiers, identities of each responding presence sensor 132 and/oreach non-responding presence sensor 132 can be determined. An example ofone embodiment of the presence data 134 is provided below in TABLE 1. Itshould be understood that the example provided in TABLE 1, wherein onlysix presence sensors 132 are represented, is illustrative and is asimplified example provided solely for purposes of illustrating anddescribing the concepts and technologies disclosed herein.

TABLE 1 Sensor ID Response Time 13f23817-a014-49e1-9bf0-c6734583ad9504/05/13 08:01:37 AM GMT-05:00 1b9dc08e-90f5-495b-963d-dfbcc1b2660a04/05/13 08:01:36 AM GMT-05:00 dbfe7094-fb48-4724-855f-3478496c359404/05/13 08:01:36 AM GMT-05:00 36362453-2458-4800-a953-0751a568e58b04/05/13 08:01:37 AM GMT-05:00 b6f3c7a2-08ea-41ac-87ce-d02520c8c15804/05/13 08:01:37 AM GMT-05:00 db5f5f85-42f8-4c0c-945e-ad3b1261fa5004/05/13 08:01:37 AM GMT-05:00

Similarly, the data 118 can include, among other things, a list ofsensor identifiers and corresponding locations within the monitoredlocation 130 of the presence sensors 132, as explained above,particularly with reference to FIGS. 5A-5G. One example of the data 118,and particularly the sensor ID data 124, is provided below in TABLE 2.It should be understood that the example provided in TABLE 2, whereinonly nine presence sensors 132 are represented, is illustrative and is asimplified example provided solely for purposes of illustrating anddescribing the concepts and technologies disclosed herein. Furthermore,the indication of the location of the presence sensors 132 by way of x,y, z coordinates is purely illustrative, and it should be understoodthat the presence sensors 132 may be located within inches and/orfractions of an inch of one another, depending upon a desiredgranularity and/or accuracy of the presence service 116.

TABLE 2 Sensor ID Location Sensor Reference13f23817-a014-49e1-9bf0-c6734583ad95 0, 0, 0 A1b9dc08e-90f5-495b-963d-dfbcc1b2660a 48, 0, 0 Bdbfe7094-fb48-4724-855f-3478496c3594 96, 0, 0 C36362453-2458-4800-a953-0751a568e58b 0, 48, 0 Da1e46713-85e3-48f1-a781-a9cb9875ade7 48, 48, 0 E771ecfb3-cc6b-42b7-9e3f-03ac9fa4c356 96, 48, 0 Fb6f3c7a2-08ea-41ac-87ce-d02520c8c158 0, 96, 0 G0126e640-98b5-4747-b88b-a578c8bac58f 48, 96, 0 Hdb5f5f85-42f8-4c0c-945e-ad3b1261fa50 96, 96, 0 I

By comparing the presence data 134 represented by TABLE 1 above with thesensor ID data 124 represented by TABLE 2, one can appreciate that thepresence sensors 132 indicated by the labeled reference characters A, B,C, D, G, and I are present in both the presence data 134 and the sensorID data 124. Thus, upon receiving the sensor ID data 124 presented inTABLE 2 and comparing the sensor ID data 124 to the presence data 134 inTABLE 1, the presence service 116 or other computing devices or modulescan determine that the presence sensors 132 indicated by the labeledreference characters E, F, and H are missing from the presence data 134.Thus, the presence service 116 can determine that these presence sensors132 are occluded, e.g., blocked by a human body or other object. Asexplained in detail above, because the location within the monitoredlocation 130 of each presence sensor 132 can be known by the presenceservice 116, this information can be used to determine presence withinthe monitored location 130 in an inexpensive, quick, and reliablemanner.

From operation 702, the method 700 proceeds to operation 704, whereinthe server computer 114 generates presence display data 112. The servercomputer 114 can use the information determined in operation 702 togenerate the presence display data 112. The presence display data 112can correspond to a web page, an image, or other visual representationof the monitored location 130 and/or people or other entities within themonitored location 130. Various embodiments of UIs 110 for presentingthe presence display data 112 have been illustrated and described abovewith reference to FIGS. 5A-5G and therefore will not be described inadditional detail here.

From operation 704, the method 700 proceeds to operation 706, whereinthe server computer 114 provides the presence display data 112 to a userdevice 102 and/or another computing device. The server computer 114 canprovide the presence display data 112 by hosting the presence displaydata 112 as a web page or other hosted data, by transmitting the data tovarious devices, by supporting downloads or other transfers of thepresence display data 112, combinations thereof, or the like. Thus,various computing devices and/or systems can access the presence displaydata 112 via various embodiments of the concepts and technologiesdisclosed herein.

From operation 706, the method 700 proceeds to operation 708. The method700 ends at operation 708.

Turning now to FIG. 8, aspects of a method 800 for presenting data toprovide a presence service will be described in detail, according to anillustrative embodiment. For purposes of illustrating and describing theconcepts of the present disclosure, the method 800 is described as beingperformed by the user device 102 via execution of one or more softwaremodules such as, for example, the application programs 108. It should beunderstood that additional and/or alternative devices and/or networknodes can provide the functionality described herein via execution ofone or more modules, applications, and/or other software including, butnot limited to, the presence service 116. Thus, the illustratedembodiment is illustrative, and should not be viewed as being limitingin any way.

The method 800 begins at operation 802, wherein the user device 102obtains presence data 134 for a monitored location 130. In someembodiments of the concepts and technologies disclosed herein, the userdevice 102 can obtain the presence data 134 directly from the monitoredlocation 130 and/or a system or device in communication with themonitored location 130. In some other embodiments, the user device 102can obtain the presence data 134 via receiving or obtaining the presencedisplay data 112 from the server computer 114 or other device or system.Thus, the user device 102 can obtain the presence data 134 and createthe presence display data 112 (not shown in FIG. 8), or obtain thepresence display data 112. Thus, the embodiment shown in FIG. 8 shouldbe understood as being illustrative and should not be construed as beinglimiting in any way.

From operation 802, the method 800 proceeds to operation 804, whereinthe user device 102 analyzes the presence data 134. The user device 102can analyze the presence data 134 to determine presence at the monitoredlocation 130. Thus, as explained above in detail with reference to thepresence service 116, the user device 102 can compare the presence data134 to data 118 and/or other information to determine how to interpretthe presence data 134. Thus, the user device 102 can determine presenceat the monitored location based upon the presence data 134, the data118, other information, combinations thereof, or the like.

From operation 804, the method 800 proceeds to operation 806, whereinthe user device 102 determines if an alarm condition is met. Inparticular, the user device 102 can compare the presence determined inoperation 804 with one or more alarm or alert conditions. The alarmsand/or alert conditions can be stored as, for example, the trigger data126 shown in FIG. 1. Thus, the user device 102 can be configured tocompare the determined presence information to the various triggersand/or other alarm/alert conditions to determine if any alarm conditionis met at the monitored location 130. As noted above, the alarmcondition can include, for example, a number of people at or near aparticular area in the monitored location 130, a line length, a waittime, a total number of people at the monitored location 130,combinations thereof, or the like.

If the user device 102 determines, in operation 806, that an alarmcondition exists at the monitored location 130, the method 800 canproceed to operation 808. In operation 808, the user device 102 cangenerate an alarm or alert at the user device 102 or elsewhere. Asdiscussed above, a user or other entity can configure alarms or alertsas visual alerts, audible alerts, tactile alerts, phone calls, textmessages, combinations thereof, or the like. Thus, the user device 102can generate the alerts (in the case of visual, audible, or tactilealerts, for example) or command or request alerts from other elements ordevices.

From operation 808, the method 800 proceeds to operation 810, whereinthe user device 102 presents one or more user interfaces such as the UIs110 described and illustrated above. The user interface presented inoperation 810 can present the presence information determined by theuser device 102 for various purposes. As shown in FIG. 8, if the userdevice 102 determines, in operation 806, that no alarm condition is metat the monitored location 130, the method 800 can proceed to operation810, and the user device 102 can present one or more user interfaces.

From operation 810, the method 800 proceeds to operation 812. The method800 ends at operation 812.

Turning now to FIG. 9, additional details of the network 104 areillustrated, according to an illustrative embodiment. The network 104includes a cellular network 902, a packet data network 904, for example,the Internet, and a circuit switched network 906, for example, apublicly switched telephone network (“PSTN”). The cellular network 902includes various components such as, but not limited to, basetransceiver stations (“BTSs”), Node-B's or e-Node-B's, base stationcontrollers (“BSCs”), radio network controllers (“RNCs”), mobileswitching centers (“MSCs”), mobile management entities (“MMEs”), shortmessage service centers (“SMSCs”), multimedia messaging service centers(“MMSCs”), home location registers (“HLRs”), home subscriber servers(“HSSs”), visitor location registers (“VLRs”), charging platforms,billing platforms, voicemail platforms, GPRS core network components,location service nodes, an IP Multimedia Subsystem (“IMS”), and thelike. The cellular network 902 also includes radios and nodes forreceiving and transmitting voice, data, and combinations thereof to andfrom radio transceivers, networks, the packet data network 904, and thecircuit switched network 906.

A mobile communications device 908, such as, for example, a cellulartelephone, a user equipment, a mobile terminal, a PDA, a laptopcomputer, a handheld computer, and combinations thereof, can beoperatively connected to the cellular network 902. The cellular network902 can be configured as a 2G GSM network and can provide datacommunications via GPRS and/or EDGE. Additionally, or alternatively, thecellular network 902 can be configured as a 3G UMTS network and canprovide data communications via the HSPA protocol family, for example,HSDPA, EUL (also referred to as HSDPA), and HSPA+. The cellular network902 also is compatible with 4G mobile communications standards as wellas evolved and future mobile standards.

The packet data network 904 includes various devices, for example,servers, computers, databases, and other devices in communication withone another, as is generally known. The packet data network 904 devicesare accessible via one or more network links. The servers often storevarious files that are provided to a requesting device such as, forexample, a computer, a terminal, a smartphone, or the like. Typically,the requesting device includes software (a “browser”) for executing aweb page in a format readable by the browser or other software. Otherfiles and/or data may be accessible via “links” in the retrieved files,as is generally known. In some embodiments, the packet data network 904includes or is in communication with the Internet. The circuit switchednetwork 906 includes various hardware and software for providing circuitswitched communications. The circuit switched network 906 may include,or may be, what is often referred to as a plain old telephone system(POTS). The functionality of a circuit switched network 906 or othercircuit-switched network are generally known and will not be describedherein in detail.

The illustrated cellular network 902 is shown in communication with thepacket data network 904 and a circuit switched network 906, though itshould be appreciated that this is not necessarily the case. One or moreInternet-capable devices 910, for example, a PC, a laptop, a portabledevice, or another suitable device, can communicate with one or morecellular networks 902, and devices connected thereto, through the packetdata network 904. It also should be appreciated that theInternet-capable device 910 can communicate with the packet data network904 through the circuit switched network 906, the cellular network 902,and/or via other networks (not illustrated).

As illustrated, a communications device 912, for example, a telephone,facsimile machine, modem, computer, or the like, can be in communicationwith the circuit switched network 906, and therethrough to the packetdata network 904 and/or the cellular network 902. It should beappreciated that the communications device 912 can be anInternet-capable device, and can be substantially similar to theInternet-capable device 910. In the specification, the network 104 isused to refer broadly to any combination of the networks 902, 904, 906.It should be appreciated that substantially all of the functionalitydescribed with reference to the network 104 can be performed by thecellular network 902, the packet data network 904, and/or the circuitswitched network 906, alone or in combination with other networks,network elements, and the like.

FIG. 10 is a block diagram illustrating a computer system 1000configured to provide the functionality described herein for providingand/or interacting with a presence sensor network, in accordance withvarious embodiments of the concepts and technologies disclosed herein.The computer system 1000 includes a processing unit 1002, a memory 1004,one or more user interface devices 1006, one or more input/output(“I/O”) devices 1008, and one or more network devices 1010, each ofwhich is operatively connected to a system bus 1012. The bus 1012enables bi-directional communication between the processing unit 1002,the memory 1004, the user interface devices 1006, the I/O devices 1008,and the network devices 1010.

The processing unit 1002 may be a standard central processor thatperforms arithmetic and logical operations, a more specific purposeprogrammable logic controller (“PLC”), a programmable gate array, orother type of processor known to those skilled in the art and suitablefor controlling the operation of the server computer. Processing unitsare generally known, and therefore are not described in further detailherein.

The memory 1004 communicates with the processing unit 1002 via thesystem bus 1012. In some embodiments, the memory 1004 is operativelyconnected to a memory controller (not shown) that enables communicationwith the processing unit 1002 via the system bus 1012. The memory 1004includes an operating system 1014 and one or more program modules 1016.The operating system 1014 can include, but is not limited to, members ofthe WINDOWS, WINDOWS CE, and/or WINDOWS MOBILE families of operatingsystems from MICROSOFT CORPORATION, the LINUX family of operatingsystems, the SYMBIAN family of operating systems from SYMBIAN LIMITED,the BREW family of operating systems from QUALCOMM CORPORATION, the MACOS, iOS, and/or LEOPARD families of operating systems from APPLECORPORATION, the FREEBSD family of operating systems, the SOLARIS familyof operating systems from ORACLE CORPORATION, other operating systems,and the like.

The program modules 1016 may include various software and/or programmodules described herein. In some embodiments, for example, the programmodules 1016 include the presence service 116. This and/or otherprograms can be embodied in computer-readable media containinginstructions that, when executed by the processing unit 1002, performone or more operations of the methods 600-800 described in detail abovewith respect to FIGS. 6-8. According to embodiments, the program modules1016 may be embodied in hardware, software, firmware, or any combinationthereof. Although not shown in FIG. 10, it should be understood that thememory 1004 also can be configured to store the presence display data112, the data 118, the presence data 134, and/or other data, if desired.

By way of example, and not limitation, computer-readable media mayinclude any available computer storage media or communication media thatcan be accessed by the computer system 1000. Communication mediaincludes computer-readable instructions, data structures, programmodules, or other data in a modulated data signal such as a carrier waveor other transport mechanism and includes any delivery media. The term“modulated data signal” means a signal that has one or more of itscharacteristics changed or set in a manner as to encode information inthe signal. By way of example, and not limitation, communication mediaincludes wired media such as a wired network or direct-wired connection,and wireless media such as acoustic, RF, infrared and other wirelessmedia. Combinations of the any of the above should also be includedwithin the scope of computer-readable media.

Computer storage media includes volatile and non-volatile, removable andnon-removable media implemented in any method or technology for storageof information such as computer-readable instructions, data structures,program modules, or other data. Computer storage media includes, but isnot limited to, RAM, ROM, Erasable Programmable ROM (“EPROM”),Electrically Erasable Programmable ROM (“EEPROM”), flash memory or othersolid state memory technology, CD-ROM, digital versatile disks (“DVD”),or other optical storage, magnetic cassettes, magnetic tape, magneticdisk storage or other magnetic storage devices, or any other mediumwhich can be used to store the desired information and which can beaccessed by the computer system 1000. In the claims, the phrase“computer storage medium” and variations thereof does not include wavesor signals per se and/or communication media as defined herein.

The user interface devices 1006 may include one or more devices withwhich a user accesses the computer system 1000. The user interfacedevices 1006 may include, but are not limited to, computers, servers,personal digital assistants, cellular phones, or any suitable computingdevices. The I/O devices 1008 enable a user to interface with theprogram modules 1016. In one embodiment, the I/O devices 1008 areoperatively connected to an I/O controller (not shown) that enablescommunication with the processing unit 1002 via the system bus 1012. TheI/O devices 1008 may include one or more input devices, such as, but notlimited to, a keyboard, a mouse, or an electronic stylus. Further, theI/O devices 1008 may include one or more output devices, such as, butnot limited to, a display screen or a printer.

The network devices 1010 enable the computer system 1000 to communicatewith other networks or remote systems via a network, such as the network104. Examples of the network devices 1010 include, but are not limitedto, a modem, a radio frequency (“RF”) or infrared (“IR”) transceiver, atelephonic interface, a bridge, a router, or a network card. The network104 may include a wireless network such as, but not limited to, aWireless Local Area Network (“WLAN”) such as a WI-FI network, a WirelessWide Area Network (“WWAN”), a Wireless Personal Area Network (“WPAN”)such as BLUETOOTH, a Wireless Metropolitan Area Network (“WMAN”) such aWiMAX network, or a cellular network. Alternatively, the network 104 maybe a wired network such as, but not limited to, a Wide Area Network(“WAN”) such as the Internet, a Local Area Network (“LAN”) such as theEthernet, a wired Personal Area Network (“PAN”), or a wired MetropolitanArea Network (“MAN”).

Turning now to FIG. 11, an illustrative mobile device 1100 andcomponents thereof will be described. In some embodiments, the userdevice 102 described above with reference to FIGS. 1-10 can beconfigured as and/or can have an architecture similar or identical tothe mobile device 1100 described herein in FIG. 11. It should beunderstood, however, that the user device 102 may or may not include thefunctionality described herein with reference to FIG. 11. Whileconnections are not shown between the various components illustrated inFIG. 11, it should be understood that some, none, or all of thecomponents illustrated in FIG. 11 can be configured to interact with oneother to carry out various device functions. In some embodiments, thecomponents are arranged so as to communicate via one or more busses (notshown). Thus, it should be understood that FIG. 11 and the followingdescription are intended to provide a general understanding of asuitable environment in which various aspects of embodiments can beimplemented, and should not be construed as being limiting in any way.

As illustrated in FIG. 11, the mobile device 1100 can include a display1102 for displaying data. According to various embodiments, the display1102 can be configured to display asset information, asset tag or assetID information, asset management account information, various graphicaluser interface (“GUI”) elements, text, images, video, virtual keypadsand/or keyboards, messaging data, notification messages, metadata,internet content, device status, time, date, calendar data, devicepreferences, map and location data, combinations thereof, and/or thelike. The mobile device 1100 also can include a processor 1104 and amemory or other data storage device (“memory”) 1106. The processor 1104can be configured to process data and/or can execute computer-executableinstructions stored in the memory 1106. The computer-executableinstructions executed by the processor 1104 can include, for example, anoperating system 1108, one or more applications 1110 such as theapplication programs 108, other computer-executable instructions storedin a memory 1106, or the like. In some embodiments, the applications1110 also can include a UI application (not illustrated in FIG. 11).

The UI application can interface with the operating system 1108, such asthe operating system 106 shown in FIG. 1, to facilitate user interactionwith functionality and/or data stored at the mobile device 1100 and/orstored elsewhere. In some embodiments, the operating system 1108 caninclude a member of the SYMBIAN OS family of operating systems fromSYMBIAN LIMITED, a member of the WINDOWS MOBILE OS and/or WINDOWS PHONEOS families of operating systems from MICROSOFT CORPORATION, a member ofthe PALM WEBOS family of operating systems from HEWLETT PACKARDCORPORATION, a member of the BLACKBERRY OS family of operating systemsfrom RESEARCH IN MOTION LIMITED, a member of the IOS family of operatingsystems from APPLE INC., a member of the ANDROID OS family of operatingsystems from GOOGLE INC., and/or other operating systems. Theseoperating systems are merely illustrative of some contemplated operatingsystems that may be used in accordance with various embodiments of theconcepts and technologies described herein and therefore should not beconstrued as being limiting in any way.

The UI application can be executed by the processor 1104 to aid a userin entering content, scanning or capturing asset ID or asset taginformation, creating new asset tags or asset ID numbers, viewing assetinformation and/or account information, answering/initiating calls,entering/deleting data, entering and setting user IDs and passwords fordevice access, configuring settings, manipulating address book contentand/or settings, multimode interaction, interacting with otherapplications 1110, and otherwise facilitating user interaction with theoperating system 1108, the applications 1110, and/or other types orinstances of data 1112 that can be stored at the mobile device 1100. Thedata 1112 can include, for example, asset information, asset tags and/orasset identifiers, and/or other applications or program modules.According to various embodiments, the data 1112 can include, forexample, presence applications, visual voice mail applications,messaging applications, text-to-speech and speech-to-text applications,add-ons, plug-ins, email applications, music applications, videoapplications, camera applications, location-based service applications,power conservation applications, game applications, productivityapplications, entertainment applications, enterprise applications,combinations thereof, and the like. The applications 1110, the data1112, and/or portions thereof can be stored in the memory 1106 and/or ina firmware 1114, and can be executed by the processor 1104. The firmware1114 also can store code for execution during device power up and powerdown operations. It can be appreciated that the firmware 1114 can bestored in a volatile or non-volatile data storage device including, butnot limited to, the memory 1106 and/or a portion thereof.

The mobile device 1100 also can include an input/output (“I/O”)interface 1116. The I/O interface 1116 can be configured to support theinput/output of data such as location information, asset information,user information, organization information, presence status information,user IDs, passwords, and application initiation (start-up) requests. Insome embodiments, the I/O interface 1116 can include a hardwireconnection such as a universal serial bus (“USB”) port, a mini-USB port,a micro-USB port, an audio jack, a PS2 port, an IEEE 1394 (“FIREWIRE”)port, a serial port, a parallel port, an Ethernet (RJ45) port, an RJ11port, a proprietary port, combinations thereof, or the like. In someembodiments, the mobile device 1100 can be configured to synchronizewith another device to transfer content to and/or from the mobile device1100. In some embodiments, the mobile device 1100 can be configured toreceive updates to one or more of the applications 1110 via the I/Ointerface 1116, though this is not necessarily the case. In someembodiments, the I/O interface 1116 accepts I/O devices such askeyboards, keypads, mice, interface tethers, printers, plotters,external storage, touch/multi-touch screens, touch pads, trackballs,joysticks, microphones, remote control devices, displays, projectors,medical equipment (e.g., stethoscopes, heart monitors, and other healthmetric monitors), modems, routers, external power sources, dockingstations, combinations thereof, and the like. It should be appreciatedthat the I/O interface 1116 may be used for communications between themobile device 1100 and a network device or local device.

The mobile device 1100 also can include a communications component 1118.The communications component 1118 can be configured to interface withthe processor 1104 to facilitate wired and/or wireless communicationswith one or more networks such as the network 104 described herein. Insome embodiments, other networks include networks that utilizenon-cellular wireless technologies such as WI-FI or WIMAX. In someembodiments, the communications component 1118 includes a multimodecommunications subsystem for facilitating communications via thecellular network and one or more other networks.

The communications component 1118, in some embodiments, includes one ormore transceivers. The one or more transceivers, if included, can beconfigured to communicate over the same and/or different wirelesstechnology standards with respect to one another. For example, in someembodiments one or more of the transceivers of the communicationscomponent 1118 may be configured to communicate using GSM, CDMAONE,CDMA2000, LTE, and various other 2G, 2.5G, 3G, 4G, and greatergeneration technology standards. Moreover, the communications component1118 may facilitate communications over various channel access methods(which may or may not be used by the aforementioned standards)including, but not limited to, TDMA, FDMA, W-CDMA, OFDM, SDMA, and thelike.

In addition, the communications component 1118 may facilitate datacommunications using GPRS, EDGE, the HSPA protocol family includingHSDPA, EUL or otherwise termed HSDPA, HSPA+, and various other currentand future wireless data access standards. In the illustratedembodiment, the communications component 1118 can include a firsttransceiver (“TxRx”) 1120A that can operate in a first communicationsmode (e.g., GSM). The communications component 1118 also can include anN^(th) transceiver (“TxRx”) 1120N that can operate in a secondcommunications mode relative to the first transceiver 1120A (e.g.,UMTS). While two transceivers 1120A-N (hereinafter collectively and/orgenerically referred to as “transceivers 1120”) are shown in FIG. 11, itshould be appreciated that less than two, two, and/or more than twotransceivers 1120 can be included in the communications component 1118.

The communications component 1118 also can include an alternativetransceiver (“Alt TxRx”) 1122 for supporting other types and/orstandards of communications. According to various contemplatedembodiments, the alternative transceiver 1122 can communicate usingvarious communications technologies such as, for example, WI-FI, WIMAX,BLUETOOTH, infrared, infrared data association (“IRDA”), near fieldcommunications (“NFC”), other RF technologies, combinations thereof, andthe like. In some embodiments, the communications component 1118 alsocan facilitate reception from terrestrial radio networks, digitalsatellite radio networks, internet-based radio service networks,combinations thereof, and the like. The communications component 1118can process data from a network such as the Internet, an intranet, abroadband network, a WI-FI hotspot, an Internet service provider(“ISP”), a digital subscriber line (“DSL”) provider, a broadbandprovider, combinations thereof, or the like.

The mobile device 1100 also can include one or more sensors 1124. Thesensors 1124 can include temperature sensors, light sensors, air qualitysensors, movement sensors, orientation sensors, noise sensors, proximitysensors, or the like. As such, it should be understood that the sensors1124 can include, but are not limited to, accelerometers, magnetometers,gyroscopes, infrared sensors, noise sensors, microphones, combinationsthereof, or the like. Additionally, audio capabilities for the mobiledevice 1100 may be provided by an audio I/O component 1126. The audioI/O component 1126 of the mobile device 1100 can include one or morespeakers for the output of audio signals, one or more microphones forthe collection and/or input of audio signals, and/or other audio inputand/or output devices.

The illustrated mobile device 1100 also can include a subscriberidentity module (“SIM”) system 1128. The SIM system 1128 can include auniversal SIM (“USIM”), a universal integrated circuit card (“UICC”)and/or other identity devices. The SIM system 1128 can include and/orcan be connected to or inserted into an interface such as a slotinterface 1130. In some embodiments, the slot interface 1130 can beconfigured to accept insertion of other identity cards or modules foraccessing various types of networks. Additionally, or alternatively, theslot interface 1130 can be configured to accept multiple subscriberidentity cards. Because other devices and/or modules for identifyingusers and/or the mobile device 1100 are contemplated, it should beunderstood that these embodiments are illustrative, and should not beconstrued as being limiting in any way.

The mobile device 1100 also can include an image capture and processingsystem 1132 (“image system”). The image system 1132 can be configured tocapture or otherwise obtain photos, videos, and/or other visualinformation. As such, the image system 1132 can include cameras, lenses,charge-coupled devices (“CCDs”), combinations thereof, or the like. Themobile device 1100 may also include a video system 1134. The videosystem 1134 can be configured to capture, process, record, modify,and/or store video content. Photos and videos obtained using the imagesystem 1132 and the video system 1134, respectively, may be added asmessage content to an MMS message, email message, and sent to anothermobile device. The video and/or photo content also can be shared withother devices via various types of data transfers via wired and/orwireless communication devices as described herein.

The mobile device 1100 also can include one or more location components1136. The location components 1136 can be configured to send and/orreceive signals to determine a geographic location of the mobile device1100. According to various embodiments, the location components 1136 cansend and/or receive signals from global positioning system (“GPS”)devices, assisted-GPS (“A-GPS”) devices, WI-FI/WIMAX and/or cellularnetwork triangulation data, combinations thereof, and the like. Thelocation component 1136 also can be configured to communicate with thecommunications component 1118 to retrieve triangulation data fordetermining a location of the mobile device 1100. In some embodiments,the location component 1136 can interface with cellular network nodes,telephone lines, satellites, location transmitters and/or beacons,wireless network transmitters and receivers, combinations thereof, andthe like. In some embodiments, the location component 1136 can includeand/or can communicate with one or more of the sensors 1124 such as acompass, an accelerometer, and/or a gyroscope to determine theorientation of the mobile device 1100. Using the location component1136, the mobile device 1100 can generate and/or receive data toidentify its geographic location, or to transmit data used by otherdevices to determine the location of the mobile device 1100. Thelocation component 1136 may include multiple components for determiningthe location and/or orientation of the mobile device 1100.

The illustrated mobile device 1100 also can include a power source 1138.The power source 1138 can include one or more batteries, power supplies,power cells, and/or other power subsystems including alternating current(“AC”) and/or direct current (“DC”) power devices. The power source 1138also can interface with an external power system or charging equipmentvia a power I/O component 1140. Because the mobile device 1100 caninclude additional and/or alternative components, the above embodimentshould be understood as being illustrative of one possible operatingenvironment for various embodiments of the concepts and technologiesdescribed herein. The described embodiment of the mobile device 1100 isillustrative, and should not be construed as being limiting in any way.

Based on the foregoing, it should be appreciated that systems andmethods detecting presence using a presence sensor network have beendisclosed herein. Although the subject matter presented herein has beendescribed in language specific to computer structural features,methodological and transformative acts, specific computing machinery,and computer-readable media, it is to be understood that the conceptsand technologies disclosed herein are not necessarily limited to thespecific features, acts, or media described herein. Rather, the specificfeatures, acts and mediums are disclosed as example forms ofimplementing the concepts and technologies disclosed herein.

The subject matter described above is provided by way of illustrationonly and should not be construed as limiting. Various modifications andchanges may be made to the subject matter described herein withoutfollowing the example embodiments and applications illustrated anddescribed, and without departing from the true spirit and scope of theembodiments of the concepts and technologies disclosed herein.

We claim:
 1. A method comprising: obtaining, at a processor thatexecutes a presence service, sensor identifier data that identifies apresence sensor that is located at a monitored location, the sensoridentifier data comprising a first unique identifier associated with thepresence sensor and data that defines a location of the presence sensorat the monitored location; storing, by the processor, the sensoridentifier data; obtaining, by the processor, presence data associatedwith the monitored location, the presence data comprising a plurality ofunique identifiers associated with a plurality of presence sensorslocated at the monitored location; comparing, by the processor, thefirst unique identifier to the presence data; and determining, by theprocessor, that an object is located at the monitored location inresponse to a determination that the first unique identifier is notincluded in the presence data.
 2. The method of claim 1, furthercomprising triggering an alarm in response to a determination that analarm condition exists at the monitored location.
 3. The method of claim2, further comprising pushing, directed to a user device, an alert thatcomprises an indication that the alarm condition exists.
 4. The methodof claim 1, further comprising: generating presence display data basedupon the presence data and the sensor identifier data.
 5. The method ofclaim 4, wherein the presence data is obtained via a receiver located atthe monitored location, and wherein the receiver obtains the pluralityof unique identifiers from a plurality of radio frequency identificationtags located at the monitored location.
 6. The method of claim 1,further comprising obtaining trigger data that defines alarm conditions,and preferences that define how alerts are delivered.
 7. The method ofclaim 1, further comprising: generating historical data that definespresence at the monitored location, and trend data that defines a trendassociated with the presence at the monitored location.
 8. A systemcomprising: a processor; and a memory that stores computer-executableinstructions that, when executed by the processor, cause the processorto perform operations comprising obtaining sensor identifier data thatidentifies a presence sensor that is located at a monitored location,the sensor identifier data comprising a first unique identifierassociated with the presence sensor and data that defines a location ofthe presence sensor at the monitored location, storing the sensoridentifier data, obtaining presence data associated with the monitoredlocation, the presence data comprising a plurality of unique identifiersassociated with a plurality of presence sensors located at the monitoredlocation, comparing the first unique identifier to the presence data,and determining that an object is located at the monitored location inresponse to a determination that the first unique identifier is notincluded in the presence data.
 9. The system of claim 8, wherein thecomputer-executable instructions, when executed by the processor, causethe processor to perform operations further comprising: triggering analarm in response to a determination that an alarm condition exists atthe monitored location.
 10. The system of claim 9, wherein thecomputer-executable instructions, when executed by the processor, causethe processor to perform operations further comprising: pushing,directed to a user device, an alert that comprises an indication thatthe alarm condition exists.
 11. The system of claim 8, wherein thecomputer-executable instructions, when executed by the processor, causethe processor to perform operations further comprising: generatingpresence display data based upon the presence data and the sensoridentifier data.
 12. The system of claim 11, wherein the presence datais obtained via a receiver located at the monitored location, andwherein the receiver obtains the plurality of unique identifiers from aplurality of radio frequency identification tags located at themonitored location.
 13. The system of claim 8, wherein thecomputer-executable instructions, when executed by the processor, causethe processor to perform operations further comprising: obtainingtrigger data that defines alarm conditions, and preferences that definehow alerts are delivered.
 14. The system of claim 8, wherein thecomputer-executable instructions, when executed by the processor, causethe processor to perform operations further comprising: generatinghistorical data that defines presence at the monitored location, andtrend data that defines a trend associated with the presence at themonitored location.
 15. A computer storage medium havingcomputer-executable instructions stored thereon that, when executed by aprocessor, cause the processor to perform operations comprising:obtaining sensor identifier data that identifies a presence sensor thatis located at a monitored location, the sensor identifier datacomprising a first unique identifier associated with the presence sensorand data that defines a location of the presence sensor at the monitoredlocation; storing the sensor identifier data; obtaining presence dataassociated with the monitored location, the presence data comprising aplurality of unique identifiers associated with a plurality of presencesensors located at the monitored location; comparing the first uniqueidentifier to the presence data; and determining that an object islocated at the monitored location in response to a determination thatthe first unique identifier is not included in the presence data. 16.The computer storage medium of claim 15, wherein the computer-executableinstructions, when executed by the processor, cause the processor toperform operations further comprising: triggering an alarm in responseto a determination that an alarm condition exists at the monitoredlocation.
 17. The computer storage medium of claim 16, wherein thecomputer-executable instructions, when executed by the processor, causethe processor to perform operations further comprising: pushing,directed to a user device, an alert that comprises an indication thatthe alarm condition exists.
 18. The computer storage medium of claim 15,wherein the computer-executable instructions, when executed by theprocessor, cause the processor to perform operations further comprising:generating presence display data based upon the presence data and thesensor identifier data.
 19. The computer storage medium of claim 18,wherein the presence data is obtained via a receiver located at themonitored location, and wherein the receiver obtains the plurality ofunique identifiers from a plurality of radio frequency identificationtags located at the monitored location.
 20. The computer storage mediumof claim 15, wherein the computer-executable instructions, when executedby the processor, cause the processor to perform operations furthercomprising: obtaining trigger data that defines alarm conditions, andpreferences that define how alerts are delivered.